package com.xinqi.modules.prepare.folder.dto.rsp;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 备课区文件夹-响应对象
 *
 * @author: system
 * @date: 2023/03/19
 */
@Data
@Schema(description = "备课区文件夹-响应对象")
public class PrepareFileFolderResultDTO implements Serializable {
    /**
     * 主键
     */
    @Schema(description = "主键", example = "")
    private Long id;
    /**
     * 创建者
     */
    @Schema(description = "创建者", example = "")
    private Long createBy;
    /**
     * 创建时间
     */
    @Schema(description = "创建时间", example = "")
    private LocalDateTime createTime;
    /**
     * 备课区id
     */
    @Schema(description = "备课区id", example = "")
    private Long prepareId;
    /**
     * 类型，1:互动课件；2:资料；3:作业；4:测评；5:讨论；6:互动视频；8:公告；99:题库；10:成员
     */
    @Schema(description = "类型，1:互动课件；2:资料；3:作业；4:测评；5:讨论；6:互动视频；8:公告；99:题库；10:成员", example = "")
    private String type;
    /**
     * 顶级父id
     */
    @Schema(description = "顶级父id", example = "")
    private Long sid;
    /**
     * 父id
     */
    @Schema(description = "父id", example = "")
    private Long pid;
    /**
     * 文件类型，FOLDER:文件夹；FILE:文件；
     */
    @Schema(description = "文件类型，FOLDER:文件夹；FILE:文件；", example = "")
    private String fileType;
    /**
     * 文件名称
     */
    @Schema(description = "文件名称", example = "")
    private String name;
    /**
     * 文件路径，例如：/xxx/xxx
     */
    @Schema(description = "文件路径，例如：/xxx/xxx", example = "")
    private String filePath;
    /**
     * 文件路径层次
     */
    @Schema(description = "文件路径层次", example = "1")
    private Integer level;
    /**
     * 关联ID
     */
    @Schema(description = "关联ID", example = "10003")
    private Long refId;
    /**
     * 文件列表
     */
    @Schema(description = "文件列表")
    private String files;
    /**
     * 文件大小
     */
    @Schema(description = "文件大小", example = "2342")
    private Long size;
    /**
     * 扩展字段
     */
    @Schema(description = "扩展字段", example = "")
    private String extend;
    /**
     * 子节点列表
     */
    @Schema(description = "子节点列表", example = "")
    private List<PrepareFileFolderResultDTO> children;

}
